// after 
// 多个异步请求 如何同时获取最终结果

let fs = require('fs')
let school = []
// let index = 0
// const cb = () => {
//     if(index ++ === 2) {
//         console.log(school)
//     }
// }

function after(times, cb) {
    return function() { // 闭包 函数
        // 函数定义的作用域 和 函数执行的 作用域 不在 同一作用域下
        if(-- times === 0) {
            cb()
        }
    }
}
// 闭包？
/**
 * 函数定义的作用域 和 函数执行的 作用域 不在 同一作用域下
 */
let cb = after(2, function () {
    console.log(school)
})

fs.readFile('./node/name.txt', 'utf8', function (err, data) {
    school.name = data
    // console.log(school)
    cb()
})

fs.readFile('./node/age.txt', 'utf8', function (err, data) {
    school.age = data
    // console.log(school) 不一定谁先执行
    cb()
})






console.log(school)